package controlador;
import java.awt.event.*;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

import vista.VistaCliente;
import modelo.Cliente;
import modelo.Sentencias;;

public class ControladorCliente implements ActionListener{

public VistaCliente vCliente;
public Cliente cliente;
public Sentencias MyConex;

public ControladorCliente(VistaCliente vc){
	vCliente=vc;
}

	
	public void actionPerformed(ActionEvent ae) {
		if(ae.getSource()== vCliente.btnSalir)
		{
			int opcion = JOptionPane.showConfirmDialog(new JFrame(),"Desea volver al menu anterior?",
					     "Mensaje de Confirmacion",JOptionPane.YES_NO_OPTION,
					     JOptionPane.QUESTION_MESSAGE);
			if (opcion == JOptionPane.YES_OPTION)
				vCliente.dispose();
		}
		if(ae.getSource()== vCliente.btnRegistrar){
			if(validarCampos())
			{
			cliente = new Cliente(vCliente.txtApellido.getText(),vCliente.txtCedula.getText(),vCliente.txtDireccion.getText(),vCliente.txtEmail.getText(),vCliente.txtNombre.getText(), vCliente.txtTelefono.getText());
					MyConex = new Sentencias();
			MyConex.insetarDatosCliente(cliente);
			JOptionPane.showMessageDialog(new JFrame(), 
					"El cliente ha sido registrado exitosamente","Cliente", 
					JOptionPane.INFORMATION_MESSAGE);
			limpiarCampos();
			}
			else
				JOptionPane.showMessageDialog(new JFrame(), 
						"Debe introducir todos los campos del cliente","Cliente", 
						JOptionPane.INFORMATION_MESSAGE);
		
	}
		if(ae.getSource()== vCliente.btnBuscar){
			MyConex = new Sentencias();
			String cedula=vCliente.txtCedula.getText();
			if(cedula.equals("")){
				JOptionPane.showMessageDialog(new JFrame(), 
						"Por favor introduzca la cedula del cliente","Cliente", 
						JOptionPane.INFORMATION_MESSAGE);
			vCliente.txtCedula.requestFocus(true);
			}
			else
			{
			cliente=MyConex.obtenerCliente(cedula);
			if(cliente==null){
				JOptionPane.showMessageDialog(new JFrame(), 
						"El cliente no se encuntra registrado","Cliente", 
						JOptionPane.INFORMATION_MESSAGE);
			noEncontrado();}
			else{
				vCliente.txtApellido.setText(cliente.getApellido());
				vCliente.txtDireccion.setText(cliente.getDireccion());
				vCliente.txtEmail.setText(cliente.getEMail());
				vCliente.txtNombre.setText(cliente.getNombre());
				vCliente.txtTelefono.setText(cliente.getTelefono());
				encontrado();
			}
			}		
		
	}
		if(ae.getSource()== vCliente.btnModificar){
			if(validarCampos()){
			cliente = new Cliente(vCliente.txtApellido.getText(),vCliente.txtCedula.getText(),vCliente.txtDireccion.getText(),vCliente.txtEmail.getText(),vCliente.txtNombre.getText(), vCliente.txtTelefono.getText());
					MyConex = new Sentencias();
			MyConex.modificarCliente(vCliente.txtCedula.getText(),cliente);
			JOptionPane.showMessageDialog(new JFrame(), 
					"Los datos del cliente han sido modificado","Cliente", 
					JOptionPane.INFORMATION_MESSAGE);
			limpiarCampos();
			}
			else
				JOptionPane.showMessageDialog(new JFrame(), 
						"Por favor introduzca todos los datos del cliente","Cliente", 
						JOptionPane.INFORMATION_MESSAGE);
	}
		if(ae.getSource()== vCliente.btnLimpiar){
			limpiarCampos();
		}
		
	}
	public boolean validarCampos(){
		boolean validar=true;
		if(vCliente.txtApellido.getText().equals("") || vCliente.txtDireccion.getText().equals("") || vCliente.txtEmail.getText().equals("") || vCliente.txtNombre.equals("") || vCliente.txtTelefono.getText().equals(""))
			validar=false;
		return validar;
	}
	public void limpiarCampos(){
		vCliente.txtApellido.setText("");
		vCliente.txtDireccion.setText("");
		vCliente.txtEmail.setText("");
		vCliente.txtNombre.setText("");
		vCliente.txtTelefono.setText("");
		vCliente.txtCedula.setText("");
		vCliente.txtCedula.requestFocus(true);
		desActivar();
			}
	public void encontrado(){
		vCliente.txtApellido.setEditable(true);
		vCliente.txtDireccion.setEditable(true);
		vCliente.txtEmail.setEditable(true);
		vCliente.txtTelefono.setEditable(true);
		vCliente.txtNombre.setEditable(true);
		vCliente.btnModificar.setEnabled(true);	
		vCliente.btnLimpiar.setEnabled(true);
	}
	public void noEncontrado(){
		vCliente.btnRegistrar.setEnabled(true);
		vCliente.txtDireccion.setEditable(true);
		vCliente.txtEmail.setEditable(true);
		vCliente.txtTelefono.setEditable(true);
		vCliente.txtNombre.setEditable(true);
		vCliente.txtApellido.setEditable(true);
		vCliente.btnLimpiar.setEnabled(true);
		vCliente.txtCedula.setEditable(false);
	}
	public void desActivar(){
		vCliente.btnRegistrar.setEnabled(false);
		vCliente.txtDireccion.setEditable(false);
		vCliente.txtEmail.setEditable(false);
		vCliente.txtTelefono.setEditable(false);
		vCliente.txtNombre.setEditable(false);
		vCliente.txtApellido.setEditable(false);
		vCliente.btnLimpiar.setEnabled(false);
		vCliente.txtCedula.setEditable(true);	
		
	}
	public void inicio(){
		vCliente.btnModificar.setEnabled(false);
		vCliente.btnRegistrar.setEnabled(false);
		vCliente.btnLimpiar.setEnabled(false);
	    limpiarCampos();
		
	}
	

}